home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / C / RefCtObj.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-19  |  6.8 KB  |  229 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:C:RefCtObj.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emith.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Theory of Operation
  13.  * 
  14.  * 
  15.  *  Classes defined in this interface
  16.  * 
  17.  */
  18.  
  19.  
  20. #ifndef SOM_ODRefCntObject_h
  21. #define SOM_ODRefCntObject_h
  22.  
  23.  
  24. #include <som.h>
  25.  
  26. /*
  27.  * -- This emitter treats Method Tokens as Thunks by default
  28.  * -- Use the sc modifier "nothunks" to change this default
  29.  */
  30. #undef somresolve_
  31. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  32.  
  33. /*
  34.  * Define the class name as an object type
  35.  */
  36. #ifndef ODRefCntObject
  37. #define ODRefCntObject SOMObject
  38. #endif
  39. #include <ODObject.h>
  40.  
  41. /*
  42.  * Start of user-defined types:
  43.  */
  44. #ifndef ODExtension
  45.     #define ODExtension SOMObject
  46. #endif /* ODExtension */
  47.  
  48. /*
  49.  * End of user-defined types.
  50.  */
  51.  
  52. #define ODRefCntObject_MajorVersion 0
  53. #define ODRefCntObject_MinorVersion 0
  54.  
  55. /*
  56.  * External name shortening if required
  57.  */
  58. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  59. #define ODRefCntObjectNewClass c
  60. #define ODRefCntObjectClassData d
  61. #define ODRefCntObjectCClassData x
  62. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  63. /*--------------Migration------------*/
  64. #define ODRefCntObject_classObj ODRefCntObjectClassData.classObject
  65. #define _ODRefCntObject ODRefCntObject_classObj
  66.  
  67. /*
  68.  * Declare the class creation procedure
  69.  */
  70.  
  71. #if applec ^ PRAGMA_LIB_EXPORT
  72. #pragma lib_export on
  73. #endif
  74.  
  75. SOMEXTERN SOMClass * SOMLINK ODRefCntObjectNewClass(integer4 somtmajorVersion,
  76.         integer4 somtminorVersion);
  77.  
  78. /*
  79.  * Declare the class data structure
  80.  */
  81. SOMEXTERN struct ODRefCntObjectClassDataStructure {
  82.     SOMAny *classObject;
  83.     somMToken InitRefCntObject;
  84.     somMToken IncrementRefCount;
  85.     somMToken Release;
  86.     somMToken GetRefCount;
  87. }
  88. #ifdef SOM_NO_DATA_EXPORTS
  89.     * ODRefCntObjectGetClassData ( void );
  90. #   undef ODRefCntObjectClassData
  91. #   define ODRefCntObjectClassData (*ODRefCntObjectGetClassData())
  92. #else
  93.       ODRefCntObjectClassData;
  94. #endif /* SOM_NO_DATA_EXPORTS */
  95.  
  96. #if applec ^ PRAGMA_LIB_EXPORT
  97. #pragma lib_export off
  98. #endif
  99.  
  100.  
  101. /*
  102.  * Declare the C specific class data structure
  103.  */
  104. SOMEXTERN struct ODRefCntObjectCClassDataStructure {
  105.     somMethodTabs parentMtab;
  106.     somDToken instanceDataToken;
  107. } ODRefCntObjectCClassData;
  108.  
  109. /*
  110.  * New and Renew macros for ODRefCntObject
  111.  */
  112. #define ODRefCntObjectNew() \
  113.     ( ( ! (ODRefCntObjectClassData.classObject) && \
  114.         (ODRefCntObjectNewClass(ODRefCntObject_MajorVersion, ODRefCntObject_MinorVersion)) ), \
  115.       (_somNew(ODRefCntObjectClassData.classObject)) )
  116. #define ODRefCntObjectRenew(buf) \
  117.     ( _somRenew(ODRefCntObjectClassData.classObject, buf) )
  118.  
  119. /*
  120.  * Override method: somInit
  121.  */
  122. #define ODRefCntObject_somInit(somSelf) \
  123.     SOMObject_somInit(somSelf)
  124.  
  125. /*
  126.  * Override method: somUninit
  127.  */
  128. #define ODRefCntObject_somUninit(somSelf) \
  129.     SOMObject_somUninit(somSelf)
  130.  
  131. /*
  132.  * New Method: InitRefCntObject
  133.  */
  134. typedef void   (SOMLINK *somTD_ODRefCntObject_InitRefCntObject)(ODRefCntObject *somSelf, Environment *ev);
  135. #define somMD_ODRefCntObject_InitRefCntObject "::ODRefCntObject::InitRefCntObject"
  136. #define ODRefCntObject_InitRefCntObject(somSelf,ev) \
  137.     (SOM_Resolve(somSelf, ODRefCntObject, InitRefCntObject) \
  138.     (somSelf,ev))
  139. #ifndef SOMGD_InitRefCntObject
  140.     #if (defined(_InitRefCntObject) || defined(__InitRefCntObject))
  141.         #undef _InitRefCntObject
  142.         #undef __InitRefCntObject
  143.         #define SOMGD_InitRefCntObject 1
  144.     #else
  145.         #define _InitRefCntObject ODRefCntObject_InitRefCntObject
  146.     #endif /* _InitRefCntObject */
  147. #endif /* SOMGD_InitRefCntObject */
  148.  
  149. /*
  150.  * New Method: IncrementRefCount
  151.  */
  152. typedef void   (SOMLINK *somTD_ODRefCntObject_IncrementRefCount)(ODRefCntObject *somSelf, Environment *ev);
  153. #define somMD_ODRefCntObject_IncrementRefCount "::ODRefCntObject::IncrementRefCount"
  154. #define ODRefCntObject_IncrementRefCount(somSelf,ev) \
  155.     (SOM_Resolve(somSelf, ODRefCntObject, IncrementRefCount) \
  156.     (somSelf,ev))
  157. #ifndef SOMGD_IncrementRefCount
  158.     #if (defined(_IncrementRefCount) || defined(__IncrementRefCount))
  159.         #undef _IncrementRefCount
  160.         #undef __IncrementRefCount
  161.         #define SOMGD_IncrementRefCount 1
  162.     #else
  163.         #define _IncrementRefCount ODRefCntObject_IncrementRefCount
  164.     #endif /* _IncrementRefCount */
  165. #endif /* SOMGD_IncrementRefCount */
  166.  
  167. /*
  168.  * New Method: Release
  169.  */
  170. typedef void   (SOMLINK *somTD_ODRefCntObject_Release)(ODRefCntObject *somSelf, Environment *ev);
  171. #define somMD_ODRefCntObject_Release "::ODRefCntObject::Release"
  172. #define ODRefCntObject_Release(somSelf,ev) \
  173.     (SOM_Resolve(somSelf, ODRefCntObject, Release) \
  174.     (somSelf,ev))
  175. #ifndef SOMGD_Release
  176.     #if (defined(_Release) || defined(__Release))
  177.         #undef _Release
  178.         #undef __Release
  179.         #define SOMGD_Release 1
  180.     #else
  181.         #define _Release ODRefCntObject_Release
  182.     #endif /* _Release */
  183. #endif /* SOMGD_Release */
  184.  
  185. /*
  186.  * New Method: GetRefCount
  187.  */
  188. typedef ODULong   (SOMLINK *somTD_ODRefCntObject_GetRefCount)(ODRefCntObject *somSelf, Environment *ev);
  189. #define somMD_ODRefCntObject_GetRefCount "::ODRefCntObject::GetRefCount"
  190. #define ODRefCntObject_GetRefCount(somSelf,ev) \
  191.     (SOM_Resolve(somSelf, ODRefCntObject, GetRefCount) \
  192.     (somSelf,ev))
  193. #ifndef SOMGD_GetRefCount
  194.     #if (defined(_GetRefCount) || defined(__GetRefCount))
  195.         #undef _GetRefCount
  196.         #undef __GetRefCount
  197.         #define SOMGD_GetRefCount 1
  198.     #else
  199.         #define _GetRefCount ODRefCntObject_GetRefCount
  200.     #endif /* _GetRefCount */
  201. #endif /* SOMGD_GetRefCount */
  202. #ifndef SOM_DONT_USE_INHERITED_MACROS
  203. #define ODRefCntObject_InitObject ODObject_InitObject
  204. #define ODRefCntObject_IsInitialized ODObject_IsInitialized
  205. #define ODRefCntObject_HasExtension ODObject_HasExtension
  206. #define ODRefCntObject_GetExtension ODObject_GetExtension
  207. #define ODRefCntObject_ReleaseExtension ODObject_ReleaseExtension
  208. #define ODRefCntObject_Purge ODObject_Purge
  209. #define ODRefCntObject_SubClassResponsibility ODObject_SubClassResponsibility
  210. #define ODRefCntObject_somFree SOMObject_somFree
  211. #define ODRefCntObject_somGetClass SOMObject_somGetClass
  212. #define ODRefCntObject_somGetClassName SOMObject_somGetClassName
  213. #define ODRefCntObject_somGetSize SOMObject_somGetSize
  214. #define ODRefCntObject_somIsA SOMObject_somIsA
  215. #define ODRefCntObject_somIsInstanceOf SOMObject_somIsInstanceOf
  216. #define ODRefCntObject_somRespondsTo SOMObject_somRespondsTo
  217. #define ODRefCntObject_somDispatchV SOMObject_somDispatchV
  218. #define ODRefCntObject_somDispatchL SOMObject_somDispatchL
  219. #define ODRefCntObject_somDispatchA SOMObject_somDispatchA
  220. #define ODRefCntObject_somDispatchD SOMObject_somDispatchD
  221. #define ODRefCntObject_somDispatch SOMObject_somDispatch
  222. #define ODRefCntObject_somClassDispatch SOMObject_somClassDispatch
  223. #define ODRefCntObject_somPrintSelf SOMObject_somPrintSelf
  224. #define ODRefCntObject_somDumpSelf SOMObject_somDumpSelf
  225. #define ODRefCntObject_somDumpSelfInt SOMObject_somDumpSelfInt
  226. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  227.  
  228. #endif       /* SOM_ODRefCntObject_h */
  229.